The present invention relates generally to hardware object models, and more specifically, to locking and unlocking hardware object models in a hierarchical fashion.
In the field of hardware object models, the various hardware components of a computing system are modeled in software so that firmware applications may have an interface to access the hardware components. When firmware is multithreaded, multiple threads may attempt to access the same hardware element, necessitating a serialization of the hardware via an access lock on the hardware's object model. In order to perform a lock on a particular hardware element, its sub-elements must also be locked. One problem with locking hardware object models is that a time delay is introduced when locking all of the elements in its hierarchical tree. Thus, a faster approach to hierarchical hardware object model locking is needed.